
package com.hlkj.pay.app.merchant;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import javax.servlet.http.HttpServletRequest;

/**
 * @author HlpayTeam
 * @date 2024/09/12 11:39
 */
public interface IMerchantChannelAppService {

    /**
     * 第三方通道进件回调
     * 
     * @param channelCode
     * @param accessCallBody
     * @return
     */
    String accessCallBack(String channelCode, String providerCode, HttpServletRequest request);

    String accessCallBack(String channelCode, HttpServletRequest request);

    /**
     * 业务开通审核结果回调
     * 
     * @param channelCode
     * @param accessCallBody
     * @return
     */
    String businessApproveCallBack(String channelCode,  String providerCode,HttpServletRequest request);

    /**
     * 业务开通成功回调
     * 
     * @param channelCode
     * @param accessCallBody
     * @return
     */
    String businessSuccessCallBack(String channelCode,  String providerCode,HttpServletRequest request);

    /**
     *
     * @param channelCode
     * @param providerCode
     * @param request
     * @return
     */
    String reportApproveCallBack(String channelCode, String providerCode, HttpServletRequest request);
    String reportApproveCallBack(String channelCode, HttpServletRequest request);

    /**
     *
     * @param channelCode
     * @param providerCode
     * @param request
     * @return
     */
    String reportAllotCallBack(String channelCode, String providerCode, HttpServletRequest request);

    /**
     *
     * @param channelCode
     * @param request
     * @return
     */
    String reportAmountCallBack(String channelCode, HttpServletRequest request);
    /**
     *
     * @param channelCode
     * @param request
     * @return
     */
    String reportAmountCallBack(String channelCode, String providerCode,HttpServletRequest request);


    /**
     * 第三方通道进件回调
     *
     * @param channelCode
     * @param accessCallBody
     * @return
     */
    String easySplitCallBack(String channelCode, String providerCode, String requestId, HttpServletRequest request);

    /**
     *
     * @param channelCode
     * @param providerCode
     * @param request
     * @return
     */
    String testCallBack(String channelCode, HttpServletRequest request);

    String productUpdateCallBack(String channelCode, String providerCode, String requestId, HttpServletRequest request);
}
